     <div class="form-group">
        <label class="col-sm-3 control-label"><font class="red">*</font>采购单标题</label>
        <div class="col-sm-3">
        <select name="purchase" id="purchase">
            <if condition="$findlist eq '' ">
                    <option value="">--默认--</option>
                    <volist name="purchase" id="s"> 
                      <option value="{$s.purchaseid}" >{$s.purchaseame}</option>
                    </volist>
             <else/>
                   <option value="{$findlist.purchaseid}" >{$findlist.purchaseame}</option> 

             </if>  

       
    </select> 
        </div>
    </div> 
<table class="table table-striped goods_list_table   table-bordered">
    <thead>
        <tr>
        	<th class="opth70">商品名</th>
          <th class="opth70">采购数量</th>
          <th class="opth70">目标价格</th>
            <th class="opth100">单价</th>
        </tr>
    </thead>
    <tbody id="tbodylist">
     <volist name="purchaselist" id="g">
           <tr  field='"listid":"{$g.listid}","purchaseid":"{$g.purchaseid}","goodsid":"{$g.goodsid}","goodsname":"{$g.goodsname}","number":"{$g.number}","unit":"{$g.unit}","price":"{$g.price}"'>
                   <td >{$g['goodsname']}</td>
                	 <td><input type="text" name= "number"  value="{$g['number']}"></td>
                   <td><input type="text" name= "price"  value="{$g['price']}"></td>
                   <td><span class="unit">{$g['unit']}</span></td>
            </tr>
        </volist>
<!-- 
        <empty name="purchaselist">
            <tr>
                <td style="padding:30px;text-align:center;" colspan="10">
                   	 暂无相关记录
                </td>
            </tr>
        </empty>
 -->
    </tbody>
</table>

<div class="page_list_ops dataTables_paginate paging_bootstrap pagination">
    {$_datalist['page_html']}
</div>
    <div class="form-group">
        <label class="col-sm-3 control-label"></label>
        <button class="btn btn-primary btn-success bt_submit" type="button" id="submit">提交</button>
    </div>
<script type="text/javascript">
 var purchaseid = "{$purchaseid}";
  $("#submit").bind("click",checkdata); 
   var cookiename="goods_<?php echo UID; ?>";
   var backurl="{:U('select_wx_purchaselist')}";
   var reg=/^\d+(\.\d{0,2})?$/;
   /*var reg = /^[+-]?([0-9]*\.?[0-9]+|[0-9]+\.?[0-9]*)([eE][+-]?[0-9]+)?$/;*/
/*alert($.parseJSON('{$parcelbase}'));*/
    $(function(){
        var _list=getCookie(cookiename);
      if(_list){
          fnCreateGoodsList();
      }
    $("input[type='text']").bind("keyup",findtable); 
    })
 //添加修改时，构建商品价格信息，并过滤存在的商品记录
  function fnCreateGoodsList(){
     ;
     var ojson=[],lsjson=[],json=[]; 
     var htl="";
    //获取cookie值 
    var _list=getCookie(cookiename);
    if(_list!=""){
      ojson=JSON.parse(_list);
    } 
    
    //当前已经存在的商品信息 
    $("#tbodylist").find('tr').each(function(){

        var _json=$(this).attr("field");
  /*      if(_json = "undefined"){
          return false;
        }*/
        var _json="{"+_json+"}"
        var tmp =JSON.parse(_json);
     
  /*      var _price=$(this).children('td').find('input').val();
        if(!isNaN(_price) && reg.test(tmp)){
           tmp.price=_price;
           var _jsonstr=JSON.stringify(tmp);
            _jsonstr=_jsonstr.replace("{","").replace("}","");
           $(this).attr("field",_jsonstr)
        }*/
        if(tmp != ""){
                  lsjson.push(tmp);  //当前特价商品信息
        }
    });
    
    //过滤存在的商品信息 
    for(var i=0;i<ojson.length;i++){
        var flg=false;
        for(var j=0;j<lsjson.length;j++){
            if(ojson[i].goods_id==lsjson[j].goodsid){
                flg=true;
                break;
            }
        }
        if(!flg){json.push(ojson[i]);}
    }
    
     //alert(_list);
 
    if(json.length==0)return;
    
    for(var i=0;i<json.length;i++){
           /* alert(parcelbase[a]['parcelname']);*/
            htl+='<tr field=\'"listid":"","purchaseid":"","goodsid":"'+json[i].goods_id+'","goodsname":"'+json[i].goods_name+'","price":"'+json[i].sale_price+'","number":"","unit":"'+json[i].measure_unit+'"\'><td>'+json[i].goods_name+'</td><td><input type="text" name="number" value="0"></td><td><input type="text" name="price" value="0"></td> <td><span class="unit">'+json[i].measure_unit+'</span></td></tr>';
    }   
    if(htl!=""){
        $("#tbodylist").append(htl); 
        $("input[type='text']").unbind("keyup",findtable);
        $("input[type='text']").bind("keyup",findtable); 
    } 
 }

var _time=0;
function  findtable(){
   clearTimeout(_time);
   $_this = $(this);
   _time=setTimeout(function(){searchtable($_this);},300);
}
//计算总价
function searchtable($_this)
{
    if($_this.attr('name') =='number'){
          var number = $_this.val();
          var price = $_this.parent("td").next().find("input").val();
             if(!reg.test(price)|| !reg.test(number)){
                alert('数量或价格输入有误');
                return false;
              }
              if(price <=0|| number<=0){
                return false;
              }
         if(price.length >= 8|| number.length >= 8){
            alert('数量或价格输入有误');
            return false;
          }
          
   }
    if($_this.attr('name') =='price'){
      var price = $_this.val();
      var number = $_this.parent("td").prev().find("input").val();
             if(!reg.test(price)|| !reg.test(number)){
                alert('数量或价格输入有误');
                return false;
              }
              if(price <=0|| number<=0){
                return false;
              }
         if(price.length >= 8|| number.length >= 8){
            alert('数量或价格输入有误');
            return false;
          }
  }

}

function  getdatalist(){
     var lsjson=[];
   //当前已经存在的商品信息 
   ;
    $("#tbodylist").children('tr').each(function(){
        var _json=$(this).attr("field");
        var _json="{"+_json+"}"
        var tmp =JSON.parse(_json);
        var _price=$(this).children('td').eq("2").find('input').val();
        var _number=$(this).children('td').eq("1").find('input').val();
        if(reg.test(_price) && reg.test(_number)){
           tmp.price=_price;
           tmp.number=_number;
        }
        //价格大于0才添加，否则删除信息。
        if(parseInt(_price)>0&&parseInt(_number)>0){
          lsjson.push(tmp);  //当前特价商品信息
        }
    });
    
   return lsjson;   
 }


 //检查数据是否符合条件
function  checkdata(){ 
       
     var _purchaseid=$("#purchase").val();
     if(_purchaseid==""){
         art.dialog({title:'温馨提示',content: '请选择包邮价标题！', ok: function () {this.close();return false;},okval:'确定'}); 
         return false;
     } 
     
    datajson= getdatalist();
    
    if(!datajson|| datajson.length==0){
        art.dialog({title:'温馨提示',content: '没有任何商品信息，请添加商品或者设置价格!', ok: function () {this.close();return false;},okval:'确定'});  
        return false;
    } 
    
     if(_purchaseid!="" && _purchaseid!=_purchaseid){
       
         art.dialog({
                title:'温馨提示',
                content: '特价主题与当前选中的主题不一致，是否继续添？',
                ok: function () { 
                    _flg=true;
                    salesave();
                    this.close();
                    return false;
                },
                cancelVal: '关闭',
                cancel: true //为true等价于function(){}
       }); 
   }else{
   
      _flg=true;
      salesave(); 
   } 
 }


  //提交数据保存特价商品信息，检测记录信息
 function  salesave()
 {
      
    if(!_flg||!datajson){return false;}
     var _purchase=$("#purchase").val();
     var url="{:U('update_wx_purchaselist')}";
     var postdata=JSON.stringify(datajson)
     $.ajax({
         'url': url,
         'data': {purchase:_purchase,json:postdata},
         'dataType': 'json',
         'type': 'POST',
         success: function (data) {
             
             if(!data){
                 art.dialog({title:'温馨提示',content: '提交数据保存失败', ok: function () {this.close();return false;},okval:'确定'});
                 return;
             }
             if (data.staute =="success") {  
               setCookie(cookiename,"",-10); //清理cookie信息
               art.dialog({title:'温馨提示',content: data.msg, ok: function () {this.close();  location.replace(backurl);return false;},okval:'确定'});
             }
         }, error: function (err) { 
             
             art.dialog({title:'温馨提示',content: err.responseText, ok: function () {this.close();return false;},okval:'确定'});
         },complete: function () {
            
         }
     });  
 }

  function setCookie(c_name, value, expiredays){
    　　　var exdate=new Date();
    　　　exdate.setDate(exdate.getDate() + expiredays);
    　　　document.cookie=c_name+ "=" + escape(value) +";path=/;domain="+document.domain+";"+((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
 }


 
 function getCookie(c_name){
    　　　　if (document.cookie.length>0){　　//先查询cookie是否为空，为空就return ""
    　　　　　　c_start=document.cookie.indexOf(c_name + "=")　　//通过String对象的indexOf()来检查这个cookie是否存在，不存在就为 -1　　
    　　　　　　if (c_start!=-1){ 
    　　　　　　　　c_start=c_start + c_name.length+1　　//最后这个+1其实就是表示"="号啦，这样就获取到了cookie值的开始位置
    　　　　　　　　c_end=document.cookie.indexOf(";",c_start)　　//其实我刚看见indexOf()第二个参数的时候猛然有点晕，后来想起来表示指定的开始索引的位置...这句是为了得到值的结束位置。因为需要考虑是否是最后一项，所以通过";"号是否存在来判断
    　　　　　　　　if (c_end==-1) c_end=document.cookie.length
    　　　　　　　　return unescape(document.cookie.substring(c_start,c_end))　　//通过substring()得到了值。想了解unescape()得先知道escape()是做什么的，都是很重要的基础，想了解的可以搜索下，在文章结尾处也会进行讲解cookie编码细节
    　　　　　　} 
    　　　　}
    　　　　return ""
 }
</script>